package com.enjoyor.soa.traffic.api.ubms.service.dubbo;


import com.enjoyor.soa.traffic.api.ubms.dto.TrFlowDevLaneRltDto;
import com.enjoyor.soa.traffic.util.pojo.Page;
import com.enjoyor.soa.traffic.util.pojo.ResultPojo;

/**
 * 维护交通流量采集设备-车道关系的Dubbo服务
 * @author yuankun
 * @version V1.0
 */
@SuppressWarnings("rawtypes")
public interface DubboTrFlowDevLaneRltService {
	/**
	 * 返回所有流量采集设备-车道关系
	 * @return ResultPojo 所有流量采集设备-车道关系
	 */
	public ResultPojo getTrFlowDevLaneRlt();
	
	/**
	 * 分页返回所有流量采集设备-车道关系
	 * @param page 分页对象
	 * @return ResultPojo 包含流量采集设备-车道关系的分页对象
	 */
	public ResultPojo getPageTrFlowDevLaneRlt(Page page);
	/**
	 * 返回所有流量采集设备-车道关系
	 * @param orderSeq 
	 * @param laneId 
	 * @param phyLaneId 
	 * @param devTypeCode 
	 * @param blockName 
	 * @param blockId 
	 * @param devName 
	 * @param devId 
	 * @return ResultPojo 所有流量采集设备-车道关系
	 */
	public ResultPojo getTrFlowDevLaneRlt(String devId, String devName, String blockId, String blockName, String devTypeCode, String phyLaneId, String laneId, String orderSeq);
	
	/**
	 * 分页返回所有流量采集设备-车道关系
	 * @param page 分页对象
	 * @param orderSeq 
	 * @param laneId 
	 * @param phyLaneId 
	 * @param devId 
	 * @return ResultPojo 包含流量采集设备-车道关系的分页对象
	 */
	public ResultPojo getPageTrFlowDevLaneRlt(Page page, String devId, String phyLaneId, String laneId, String orderSeq);
	
	/**
	 * 返回指定编码的流量采集设备-车道关系
	 * @param devId 设备编码
	 * @param phyLaneId 物理车道编码
	 * @param laneId 设备车道编码
	 * @return ResultPojo 流量采集设备-车道关系
	 */
	public ResultPojo getTrFlowDevLaneRltById(String devId, String phyLaneId, String laneId);
	
	/**
	 * 添加一条流量采集设备-车道关系
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param trFlowDevLaneRltDto 流量采集设备-车道关系
	 * @return ResultPojo 添加结果
	 */
	public ResultPojo addTrFlowDevLaneRlt(String token, TrFlowDevLaneRltDto trFlowDevLaneRltDto);
	
	/**
	 * 修改一条流量采集设备-车道关系
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param trFlowDevLaneRltDto 流量采集设备-车道关系
	 * @return ResultPojo 修改结果
	 */
	public ResultPojo editTrFlowDevLaneRlt(String token, TrFlowDevLaneRltDto trFlowDevLaneRltDto);
	
	/**
	 * 删除指定编码和车道的流量采集设备-车道关系
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param devId 设备编码
	 * @param phyLaneId 物理车道编码
	 * @param laneId 设备车道编码
	 * @return ResultPojo 删除结果
	 */
	public ResultPojo removeTrFlowDevLaneRlt(String token, String devId, String phyLaneId, String laneId);

	/**
	 * 
	 * @param page 
	 * @param devId 
	 * @param devName 
	 * @param blockId 
	 * @param blockName 
	 * @param devTypeCode 
	 * @param phyLaneId 
	 * @param laneId 
	 * @param orderSeq
	 * @return ResultPojo 
	 */
	public ResultPojo getPageEasyUiFlowDevLaneRlt(Page page, String devId, String devName, String blockId, String blockName,
			String devTypeCode, String phyLaneId, String laneId, String orderSeq);
	
	/**
	 * 
	 * @param token 以逗号分隔的输入信息，如用户名等
	 * @param rltLanes 
	 * @return ResultPojo 添加结果
	 */
	public ResultPojo multiAddTrFlowDevLaneRlt(String token, String rltLanes);

	
}
